package day06;

import java.util.Arrays;

public class ArrayDemo {
    public static void main(String[] args) {
        //6.数组复制:
        /*
        int[] a = {10, 20, 30, 40, 50};
        int[] b = new int[6];//0,0,0,0,0,0
        //a:源数组
        //1:源数组的起始下标
        //b:目标数组
        //2:目标数组的起始下标
        //3:要复制的多少个数
        System.arraycopy(a,2,b,1,3);
        //在a数组的第二个元素开始复制3个元素到b数组中,而且是从第三个数开始粘贴
        for (int i=0;i<b.length;i++){
            System.out.println(b[i]);

        }
         */
        /*
        //a:源数组
        //b:目标数组
        //7:目标数组的长度
        // 若目标数组的长度>源数组的长度,则末尾会补默认值
        // 若目标数组的长度<源数组的长度,则末尾会被截掉
        int[] a={10,20,30,40,50};
        int[] b= Arrays.copyOf(a,7);//灵活性差
        //把a的数组全部复制到b的数组并且是从第一个开始粘贴,7表示b数组的长度
        for (int i=0;i<b.length;i++){
            System.out.println(b[i]);
        }
         */

        int[] a={10,20,30,40,50};
        //数组扩容(创建了一个新的数组,并把之前那个数组的内容复制进去了,并且,之前的那个数组被销毁了)
        a=Arrays.copyOf(a,a.length+2);//新建一个长度完7的数组
        for (int i=0;i<a.length;i++){
            System.out.println(a[i]);
        }
    }
}
